WT_DECLARE_WT_MEMBER(2,JavaScriptObject,"glMatrix",function(){glMatrixArrayType=typeof Float32Array!="undefined"?Float32Array:typeof WebGLFloatArray!="undefined"?WebGLFloatArray:Array;var D={};D.create=function(a){var b=new glMatrixArrayType(3);if(a){b[0]=a[0];b[1]=a[1];b[2]=a[2]}return b};D.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};D.add=function(a,b,c){if(!c||a==c){a[0]+=b[0];a[1]+=b[1];a[2]+=b[2];return a}c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c};D.subtract=function(a,
b,c){if(!c||a==c){a[0]-=b[0];a[1]-=b[1];a[2]-=b[2];return a}c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c};D.negate=function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b};D.scale=function(a,b,c){if(!c||a==c){a[0]*=b;a[1]*=b;a[2]*=b;return a}c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c};D.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1];a=a[2];var e=Math.sqrt(c*c+d*d+a*a);if(e){if(e==1){b[0]=c;b[1]=d;b[2]=a;return b}}else{b[0]=0;b[1]=0;b[2]=0;return b}e=1/e;b[0]=c*e;b[1]=d*e;b[2]=
a*e;return b};D.cross=function(a,b,c){c||(c=a);var d=a[0],e=a[1];a=a[2];var g=b[0],f=b[1];b=b[2];c[0]=e*b-a*f;c[1]=a*g-d*b;c[2]=d*f-e*g;return c};D.length=function(a){var b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)};D.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]};D.direction=function(a,b,c){c||(c=a);var d=a[0]-b[0],e=a[1]-b[1];a=a[2]-b[2];b=Math.sqrt(d*d+e*e+a*a);if(!b){c[0]=0;c[1]=0;c[2]=0;return c}b=1/b;c[0]=d*b;c[1]=e*b;c[2]=a*b;return c};D.str=function(a){return"["+a[0]+", "+
a[1]+", "+a[2]+"]"};var H={};H.create=function(a){var b=new glMatrixArrayType(9);if(a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9]}return b};H.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};H.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a};H.toMat4=function(a,b){b||(b=o.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=0;b[4]=a[3];
b[5]=a[4];b[6]=a[5];b[7]=0;b[8]=a[6];b[9]=a[7];b[10]=a[8];b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b};H.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+"]"};var o={};o.create=function(a){var b=new glMatrixArrayType(16);if(a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15]}return b};o.set=function(a,b){b[0]=
a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};o.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};o.transpose=function(a,b){if(!b||a==b){b=a[1];var c=a[2],d=a[3],e=a[6],g=a[7],f=a[11];a[1]=a[4];a[2]=a[8];a[3]=a[12];a[4]=b;a[6]=a[9];a[7]=a[13];a[8]=c;a[9]=e;a[11]=a[14];a[12]=
d;a[13]=g;a[14]=f;return a}b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];return b};o.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],g=a[4],f=a[5],h=a[6],i=a[7],j=a[8],k=a[9],m=a[10],n=a[11],l=a[12],p=a[13],q=a[14];a=a[15];return l*k*h*e-j*p*h*e-l*f*m*e+g*p*m*e+j*f*q*e-g*k*q*e-l*k*d*i+j*p*d*i+l*c*m*i-b*p*m*i-j*c*q*i+b*k*q*i+l*f*d*n-g*p*d*n-l*c*h*n+b*p*h*n+g*c*q*n-b*
f*q*n-j*f*d*a+g*k*d*a+j*c*h*a-b*k*h*a-g*c*m*a+b*f*m*a};o.inverse=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=a[3],f=a[4],h=a[5],i=a[6],j=a[7],k=a[8],m=a[9],n=a[10],l=a[11],p=a[12],q=a[13],s=a[14];a=a[15];var A=c*h-d*f,B=c*i-e*f,C=c*j-g*f,t=d*i-e*h,u=d*j-g*h,v=e*j-g*i,w=k*q-m*p,x=k*s-n*p,y=k*a-l*p,z=m*s-n*q,F=m*a-l*q,G=n*a-l*s,r=1/(A*G-B*F+C*z+t*y-u*x+v*w);b[0]=(h*G-i*F+j*z)*r;b[1]=(-d*G+e*F-g*z)*r;b[2]=(q*v-s*u+a*t)*r;b[3]=(-m*v+n*u-l*t)*r;b[4]=(-f*G+i*y-j*x)*r;b[5]=(c*G-e*y+g*x)*r;b[6]=(-p*
v+s*C-a*B)*r;b[7]=(k*v-n*C+l*B)*r;b[8]=(f*F-h*y+j*w)*r;b[9]=(-c*F+d*y-g*w)*r;b[10]=(p*u-q*C+a*A)*r;b[11]=(-k*u+m*C-l*A)*r;b[12]=(-f*z+h*x-i*w)*r;b[13]=(c*z-d*x+e*w)*r;b[14]=(-p*t+q*B-s*A)*r;b[15]=(k*t-m*B+n*A)*r;return b};o.toRotationMat=function(a,b){b||(b=o.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b};o.toMat3=function(a,b){b||(b=H.create());b[0]=a[0];b[1]=a[1];b[2]=
a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];return b};o.toInverseMat3=function(a,b){var c=a[0],d=a[1],e=a[2],g=a[4],f=a[5],h=a[6],i=a[8],j=a[9];a=a[10];var k=a*f-h*j,m=-a*g+h*i,n=j*g-f*i,l=c*k+d*m+e*n;if(!l)return null;l=1/l;b||(b=H.create());b[0]=k*l;b[1]=(-a*d+e*j)*l;b[2]=(h*d-e*f)*l;b[3]=m*l;b[4]=(a*c-e*i)*l;b[5]=(-h*c+e*g)*l;b[6]=n*l;b[7]=(-j*c+d*i)*l;b[8]=(f*c-d*g)*l;return b};o.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],g=a[2],f=a[3],h=a[4],i=a[5],j=a[6],k=a[7],
m=a[8],n=a[9],l=a[10],p=a[11],q=a[12],s=a[13],A=a[14];a=a[15];var B=b[0],C=b[1],t=b[2],u=b[3],v=b[4],w=b[5],x=b[6],y=b[7],z=b[8],F=b[9],G=b[10],r=b[11],I=b[12],J=b[13],K=b[14];b=b[15];c[0]=B*d+C*h+t*m+u*q;c[1]=B*e+C*i+t*n+u*s;c[2]=B*g+C*j+t*l+u*A;c[3]=B*f+C*k+t*p+u*a;c[4]=v*d+w*h+x*m+y*q;c[5]=v*e+w*i+x*n+y*s;c[6]=v*g+w*j+x*l+y*A;c[7]=v*f+w*k+x*p+y*a;c[8]=z*d+F*h+G*m+r*q;c[9]=z*e+F*i+G*n+r*s;c[10]=z*g+F*j+G*l+r*A;c[11]=z*f+F*k+G*p+r*a;c[12]=I*d+J*h+K*m+b*q;c[13]=I*e+J*i+K*n+b*s;c[14]=I*g+J*j+K*l+b*
A;c[15]=I*f+J*k+K*p+b*a;return c};o.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1];b=b[2];c[0]=a[0]*d+a[4]*e+a[8]*b+a[12];c[1]=a[1]*d+a[5]*e+a[9]*b+a[13];c[2]=a[2]*d+a[6]*e+a[10]*b+a[14];return c};o.multiplyVec4=function(a,b,c){c||(c=b);var d=b[0],e=b[1],g=b[2];b=b[3];c[0]=a[0]*d+a[4]*e+a[8]*g+a[12]*b;c[1]=a[1]*d+a[5]*e+a[9]*g+a[13]*b;c[2]=a[2]*d+a[6]*e+a[10]*g+a[14]*b;c[3]=a[3]*d+a[7]*e+a[11]*g+a[15]*b;return c};o.translate=function(a,b,c){var d=b[0],e=b[1];b=b[2];if(!c||a==c){a[12]=a[0]*
d+a[4]*e+a[8]*b+a[12];a[13]=a[1]*d+a[5]*e+a[9]*b+a[13];a[14]=a[2]*d+a[6]*e+a[10]*b+a[14];a[15]=a[3]*d+a[7]*e+a[11]*b+a[15];return a}var g=a[0],f=a[1],h=a[2],i=a[3],j=a[4],k=a[5],m=a[6],n=a[7],l=a[8],p=a[9],q=a[10],s=a[11];c[0]=g;c[1]=f;c[2]=h;c[3]=i;c[4]=j;c[5]=k;c[6]=m;c[7]=n;c[8]=l;c[9]=p;c[10]=q;c[11]=s;c[12]=g*d+j*e+l*b+a[12];c[13]=f*d+k*e+p*b+a[13];c[14]=h*d+m*e+q*b+a[14];c[15]=i*d+n*e+s*b+a[15];return c};o.scale=function(a,b,c){var d=b[0],e=b[1];b=b[2];if(!c||a==c){a[0]*=d;a[1]*=d;a[2]*=d;a[3]*=
d;a[4]*=e;a[5]*=e;a[6]*=e;a[7]*=e;a[8]*=b;a[9]*=b;a[10]*=b;a[11]*=b;return a}c[0]=a[0]*d;c[1]=a[1]*d;c[2]=a[2]*d;c[3]=a[3]*d;c[4]=a[4]*e;c[5]=a[5]*e;c[6]=a[6]*e;c[7]=a[7]*e;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c};o.rotate=function(a,b,c,d){var e=c[0],g=c[1];c=c[2];var f=Math.sqrt(e*e+g*g+c*c);if(!f)return null;if(f!=1){f=1/f;e*=f;g*=f;c*=f}var h=Math.sin(b),i=Math.cos(b),j=1-i;b=a[0];f=a[1];var k=a[2],m=a[3],n=a[4],l=a[5],p=a[6],
q=a[7],s=a[8],A=a[9],B=a[10],C=a[11],t=e*e*j+i,u=g*e*j+c*h,v=c*e*j-g*h,w=e*g*j-c*h,x=g*g*j+i,y=c*g*j+e*h,z=e*c*j+g*h;e=g*c*j-e*h;g=c*c*j+i;if(d){if(a!=d){d[12]=a[12];d[13]=a[13];d[14]=a[14];d[15]=a[15]}}else d=a;d[0]=b*t+n*u+s*v;d[1]=f*t+l*u+A*v;d[2]=k*t+p*u+B*v;d[3]=m*t+q*u+C*v;d[4]=b*w+n*x+s*y;d[5]=f*w+l*x+A*y;d[6]=k*w+p*x+B*y;d[7]=m*w+q*x+C*y;d[8]=b*z+n*e+s*g;d[9]=f*z+l*e+A*g;d[10]=k*z+p*e+B*g;d[11]=m*z+q*e+C*g;return d};o.rotateX=function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var e=a[4],g=a[5],
f=a[6],h=a[7],i=a[8],j=a[9],k=a[10],m=a[11];if(c){if(a!=c){c[0]=a[0];c[1]=a[1];c[2]=a[2];c[3]=a[3];c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15]}}else c=a;c[4]=e*b+i*d;c[5]=g*b+j*d;c[6]=f*b+k*d;c[7]=h*b+m*d;c[8]=e*-d+i*b;c[9]=g*-d+j*b;c[10]=f*-d+k*b;c[11]=h*-d+m*b;return c};o.rotateY=function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var e=a[0],g=a[1],f=a[2],h=a[3],i=a[8],j=a[9],k=a[10],m=a[11];if(c){if(a!=c){c[4]=a[4];c[5]=a[5];c[6]=a[6];c[7]=a[7];c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15]}}else c=
a;c[0]=e*b+i*-d;c[1]=g*b+j*-d;c[2]=f*b+k*-d;c[3]=h*b+m*-d;c[8]=e*d+i*b;c[9]=g*d+j*b;c[10]=f*d+k*b;c[11]=h*d+m*b;return c};o.rotateZ=function(a,b,c){var d=Math.sin(b);b=Math.cos(b);var e=a[0],g=a[1],f=a[2],h=a[3],i=a[4],j=a[5],k=a[6],m=a[7];if(c){if(a!=c){c[8]=a[8];c[9]=a[9];c[10]=a[10];c[11]=a[11];c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15]}}else c=a;c[0]=e*b+i*d;c[1]=g*b+j*d;c[2]=f*b+k*d;c[3]=h*b+m*d;c[4]=e*-d+i*b;c[5]=g*-d+j*b;c[6]=f*-d+k*b;c[7]=h*-d+m*b;return c};o.frustum=function(a,b,c,d,
e,g,f){f||(f=o.create());var h=b-a,i=d-c,j=g-e;f[0]=e*2/h;f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=e*2/i;f[6]=0;f[7]=0;f[8]=(b+a)/h;f[9]=(d+c)/i;f[10]=-(g+e)/j;f[11]=-1;f[12]=0;f[13]=0;f[14]=-(g*e*2)/j;f[15]=0;return f};o.perspective=function(a,b,c,d,e){a=c*Math.tan(a*Math.PI/360);b=a*b;return o.frustum(-b,b,-a,a,c,d,e)};o.ortho=function(a,b,c,d,e,g,f){f||(f=o.create());var h=b-a,i=d-c,j=g-e;f[0]=2/h;f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=2/i;f[6]=0;f[7]=0;f[8]=0;f[9]=0;f[10]=-2/j;f[11]=0;f[12]=-(a+b)/h;f[13]=
-(d+c)/i;f[14]=-(g+e)/j;f[15]=1;return f};o.lookAt=function(a,b,c,d){d||(d=o.create());var e=a[0],g=a[1];a=a[2];var f=c[0],h=c[1],i=c[2];c=b[1];var j=b[2];if(e==b[0]&&g==c&&a==j)return o.identity(d);var k,m,n,l;c=e-b[0];j=g-b[1];b=a-b[2];l=1/Math.sqrt(c*c+j*j+b*b);c*=l;j*=l;b*=l;k=h*b-i*j;i=i*c-f*b;f=f*j-h*c;if(l=Math.sqrt(k*k+i*i+f*f)){l=1/l;k*=l;i*=l;f*=l}else f=i=k=0;h=j*f-b*i;m=b*k-c*f;n=c*i-j*k;if(l=Math.sqrt(h*h+m*m+n*n)){l=1/l;h*=l;m*=l;n*=l}else n=m=h=0;d[0]=k;d[1]=h;d[2]=c;d[3]=0;d[4]=i;
d[5]=m;d[6]=j;d[7]=0;d[8]=f;d[9]=n;d[10]=b;d[11]=0;d[12]=-(k*e+i*g+f*a);d[13]=-(h*e+m*g+n*a);d[14]=-(c*e+j*g+b*a);d[15]=1;return d};o.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+"]"};var E={};E.create=function(a){var b=new glMatrixArrayType(4);if(a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3]}return b};E.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];
return b};E.calculateW=function(a,b){var c=a[0],d=a[1],e=a[2];if(!b||a==b){a[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e));return a}b[0]=c;b[1]=d;b[2]=e;b[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e));return b};E.inverse=function(a,b){if(!b||a==b){a[0]*=1;a[1]*=1;a[2]*=1;return a}b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=a[3];return b};E.length=function(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)};E.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2];a=a[3];var g=Math.sqrt(c*c+d*d+e*
e+a*a);if(g==0){b[0]=0;b[1]=0;b[2]=0;b[3]=0;return b}g=1/g;b[0]=c*g;b[1]=d*g;b[2]=e*g;b[3]=a*g;return b};E.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],g=a[2];a=a[3];var f=b[0],h=b[1],i=b[2];b=b[3];c[0]=d*b+a*f+e*i-g*h;c[1]=e*b+a*h+g*f-d*i;c[2]=g*b+a*i+d*h-e*f;c[3]=a*b-d*f-e*h-g*i;return c};E.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],g=b[2];b=a[0];var f=a[1],h=a[2];a=a[3];var i=a*d+f*g-h*e,j=a*e+h*d-b*g,k=a*g+b*e-f*d;d=-b*d-f*e-h*g;c[0]=i*a+d*-b+j*-h-k*-f;c[1]=j*a+d*-f+k*-b-i*
-h;c[2]=k*a+d*-h+i*-f-j*-b;return c};E.toMat3=function(a,b){b||(b=H.create());var c=a[0],d=a[1],e=a[2],g=a[3],f=c+c,h=d+d,i=e+e;a=c*f;var j=c*h;c=c*i;var k=d*h;d=d*i;e=e*i;f=g*f;h=g*h;g=g*i;b[0]=1-(k+e);b[1]=j-g;b[2]=c+h;b[3]=j+g;b[4]=1-(a+e);b[5]=d-f;b[6]=c-h;b[7]=d+f;b[8]=1-(a+k);return b};E.toMat4=function(a,b){b||(b=o.create());var c=a[0],d=a[1],e=a[2],g=a[3],f=c+c,h=d+d,i=e+e;a=c*f;var j=c*h;c=c*i;var k=d*h;d=d*i;e=e*i;f=g*f;h=g*h;g=g*i;b[0]=1-(k+e);b[1]=j-g;b[2]=c+h;b[3]=0;b[4]=j+g;b[5]=1-(a+
e);b[6]=d-f;b[7]=0;b[8]=c-h;b[9]=d+f;b[10]=1-(a+k);b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b};E.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"};return{vec3:D,mat3:H,mat4:o}}());
